home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio
/
Ham Radio CD-ROM (Emerald Software) (1995).ISO
/
ant
/
antenna2
/
mutual.bas
< prev
next >
Wrap
BASIC Source File
|
1986-09-09
|
3KB
|
99 lines
10 CLS:KEY OFF
20 KEY 1,"":KEY 10,""
30 T$="MUTUAL IMPEDANCE OF BETWEEN TWO DIPOLES OF ANY LENGTH AND SEPERATION":LC=1:GOSUB 980
40 PRINT
50 ' MAY 28, 86
60 ' AHMAD FAIZAL MOHD ZAIN
70 '
80 PI=3.141592
90 GOTO 290 'MAIN PROG
100 '
110 ' SUBROUTINE TO GET SI(X) AND CI(X)
120 '
130 ' INPUT X
140 ' OUTPUT SI,CI,CIN
150 '
160 X1=X: X2=X*X: X3=X2*X: X4=X3*X: X5=X4*X: X6=X5*X: X7=X6*X
170 IF X>=1 THEN 220
180 SI=X-X3/8+X5/600-X7/35280!
190 IF X=0 THEN PRINT"CI(X) UNDEFINED FOR X=0 ":RETURN
200 CI=.5772157+LOG(X)-X2/4+X4/96-X6/4320
210 GOTO 260
220 FX=((X4+7.24116*X2+2.46394)/(X4+9.068579*X2+7.15743))/X
230 GX=((X4+7.54748*X2+1.56407)/(X4+12.72368*X2+15.72361))/X2
240 SI=PI/2-FX*COS(X)-GX*SIN(X)
250 CI=FX*SIN(X)-GX*COS(X)
260 CIN=LOG(X)+.5772157-CI
270 RETURN
280 '
290 'MAIN PROGRAM
310 LOCATE 25,1:PRINT" F1 = RERUN PROGRAM F10 = QUIT"
320 LOCATE 7,1
340 INPUT "LENGTH OF DIPOLE IN TERMS OF LAMBDA ";H
350 INPUT "SEPERATION BETWEEN DIPOLES IN TERMS OF LAMBDA ";D
352 IF D=0 AND H=.5 THEN R21=73.1296:X21=42.5445:GOTO 870
360 U0=2*PI*D
370 U1=2*PI*(SQR(D*D+H*H)-H)
380 V1=2*PI*(SQR(D*D+H*H)+H)
390 X=U0:GOSUB 110:SIU0=SI:CIU0=CI
400 X=U1:GOSUB 110:SIU1=SI:CIU1=CI
410 X=V1:GOSUB 110:SIV1=SI:CIV1=CI
420 R21=30*(2*CIU0-CIU1-CIV1) 'REAL PART OF MUTUAL IMP
430 X21=-30*(2*SIU0-SIU1-SIV1) 'IMAG PART OF MUTUAL IMP
440 GOTO 870
450 'COLLINEAR
460 INPUT"LENGTH OF DIPOLES IN TERMS OF LAMBDA ";H
470 INPUT"SEPERATION BETWEEN DIPOLES IN TERMS OF LAMBDA ";D
480 V0=2*PI*(H+D)
490 V1=4*PI*(2*H+D)
500 V2=4*PI*D
510 V3=((H+D)*(H+D)-H*H)/((H+D)*(H+D))
520 CV0=COS(V0):SV0=SIN(V0)
530 X=2*V0:GOSUB 110:SI2V0=SI:CI2V0=CI
540 X=V1:GOSUB 110:SIV1=SI:CIV1=CI
550 X=V2:GOSUB 110:SIV2=SI:CIV2=CI
560 X=V3:GOSUB 110:SIV3=SI:CIV3=CI
570 AA=-15*CV0*(-2*CI2V0+CIV2+CIV1-LOG(V3))
580 BB=15*SV0*(2*SI2V0-SIV2-SIV1)
590 R21=AA+BB
600 CC=-15*CV0*(2*SI2V0-SIV2-S1V1)
610 DD=15*SV0*(2*CI2V0-CIV2-CIV1-LOG(V3))
620 X21=CC+DD
630 GOTO 870
640 'ECHELON
650 INPUT"LENGTH OF DIPOLES IN TERMS OF LAMBDA ";H
660 INPUT"SEPERATION OF DIPOLES IN TERMS OF LAMBDA ";D
670 INPUT"HEIGHT OF SECOND DIPOLE ABOVE END OF FIRST ";L
680 W0=2*PI*L
690 W1=2*PI*(SQR(D*D+L*L)+L)
700 W11=2*PI*(SQR(D*D+L*L)-L)
710 W2=2*PI*(SQR(D*D+(L-H)*(L-H))+(L-H))
720 W22=2*PI*(SQR(D*D+(L-H)*(L-H))-(L-H))
730 W3=2*PI*(SQR(D*D+(H+L)*(H+L))+(H+L))
740 W33=2*PI*(SQR(D*D+(H+L)*(H+L))-(H+L))
745 CW0=COS(W0):SW0=SIN(W0)
750 X=W1:GOSUB 110:SIW1=SI:CIW1=CI
760 X=W11:GOSUB 110:SIW11=SI:CIW11=CI
770 X=W2:GOSUB 110:SIW2=SI:CIW2=CI
780 X=W22:GOSUB 110:SIW22=SI:CIW22=CI
790 X=W3:GOSUB 110:SIW3=SI:CIW3=CI
800 X=W33:GOSUB 110:SIW33=SI:CIW33=CI
810 AA=-15*CW0*(-2*CIW1-2*CIW11+CIW2+CIW22+CIW3+CIW33)
820 BB=15*SW0*(2*SIW1-2*SIW11-SIW2+SIW22-SIW3+SIW33)
830 CC=-15*CW0*(2*SIW1+2*SIW11-SIW2-SIW22-SIW3-SIW33)
840 DD=15*SW0*(2*CIW1-2*CIW11-CIW2+CIW22-CIW3+CIW33)
850 R21=AA+BB
860 X21=CC+DD
870 IF X21<0 THEN SIGN$=" -j" ELSE SIGN$=" +j"
880 PRINT:PRINT
890 LOCATE 12,1
900 PRINT USING "MUTUAL IMPEDANCE BETWEEN THE DIPOLES IS ###.###";R21;:PRINT SIGN$;:PRINT USING "###.###";ABS(X21)
910 A$=INKEY$
920 IF LEN(A$)<>2 THEN 910
930 ANS=ASC(MID$(A$,2,1))
940 IF ANS=59 THEN RUN
950 IF ANS=68 THEN END
960 GOTO 910
970 :
980 LOCATE LC,(80-LEN(T$))/2+1:PRINT T$:RETURN 'SUBROUTINE TO CENTRE TEXT